$().ready(
	function(){
		// Masquage des message d'erreur
		$("#invalid_mail").hide();
		$("#used_nickname").hide();
		$("#null_comment").hide();
		
		// Bind blur : recherche d'un utilisateur via son mail
		$("#tb_mail").bind("blur", function() { searchUser(this); } );
		
		// Bind click : submit du form
		$("#bt_comment").bind( "click", function() { submitForm(); } );
	}
		
);

// Recherche si l'utilisateur est déjà enregistré
function searchUser(obj)
{
	var mail = $(obj).val();
	
	if(mail != "" && validateMail(mail))
	{
		$("#invalid_mail").hide();
		$.ajax({
			type: "POST",
			async: true,
			url: "/comment/searchUser",
			data: { mail: mail },
			beforeSend: function(){
				$("#div_load").show();
			},
			complete: function(obj){
				var resp = obj.responseText;
				if(resp != "")
				{
					var str = resp.split('¤');
					$("#hidden_uid").val(str[0]);
					$("#tb_pseudo").val(str[1]);
					$("#tb_pseudo").attr("readonly", "readonly");
					$("#tb_pseudo").addClass("readno");
				}
				else
				{
					$("#tb_pseudo").removeAttr("readonly");
					$("#tb_pseudo").removeClass("readno");
				}
				$("#div_load").hide();
			}
		});
	}
	else
	{
		$("#invalid_mail").show();
	}

}

// Validation de l'adresse email
function validateMail(address)
{
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if(reg.test(address) == false) 
		return false;
	else
		return true;
}

// Vérifie que le login n'est pas utilisé
function checkLogin(login)
{
	$.ajax({
		type: "POST",
		async: true,
		url: "/comment/checkLogin",
		data: { login: login },
		beforeSend: function(){
			$("#div_load").show();
		},
		complete: function(obj){
			var resp = obj.responseText;
			// Le login existe et ce n'est pas celui de l'utilisateur courant
			if(resp)
			{
				$("#used_nickname").show();
			}
			else
			{
				$("#comment_form").submit();
			}
			$("#div_load").hide();
		}
	});
}

// Submit du form
function submitForm()
{
	if ($('#cb_confidentiality:checked').val() !== undefined)
	{
		$("#lbl_confidentiality").css('color','#999999');
		// Variables
		var mail = $("#tb_mail").val();
		var pseudo = $("#tb_pseudo").val();
		var comment = $("#ta_comment").val();
		
		// Validation de l'adresse mail
		if( mail == "" || !validateMail(mail) )
		{
			$("#invalid_mail").show();
		}
		else
		{
			$("#invalid_mail").hide();
			// Validation du commentaire
			if(comment == "")
			{
				$("#null_comment").show();
			}
			else
			{
				$("#null_comment").hide();
				if(pseudo == "")
				{
					$("#used_nickname").show();
				}
				else
				{
					// Tous le champs sont remplis et valide.
					// Si l'utilisateur est connu, on submit
					if( $("#tb_pseudo").attr("readonly") )
					{
						$("#comment_form").submit();
					}
					// Sinon on ne submit que si le pseudo n'existe pas
					else
					{
						checkLogin(pseudo);
					}
				}
			}
		}
	}
	else
	{
		$("#lbl_confidentiality").css('color','orange');
	}
}